import os
import json
from tqdm import tqdm  # 导入 tqdm

# 设置数据集所在的根目录
dataset_dir = r"D:\GRWJ\OBS\HUST-OBC-main\train"  # 替换为你的数据集路径
# 设置 json 文件的路径
json_file = r"D:\GRWJ\OBS\HUST-OBC-main\ming\ID_to_chinese.json"  # 替换为你的 json 文件路径

# 加载 json 文件
with open(json_file, 'r', encoding='utf-8') as f:
    id_to_chinese = json.load(f)

# 获取所有文件夹名并过滤出数字文件夹
folders = [f for f in os.listdir(dataset_dir) if os.path.isdir(os.path.join(dataset_dir, f)) and f.isdigit()]

# 使用 tqdm 包装进度条
for folder_name in tqdm(folders, desc="Renaming folders", unit="folder"):
    folder_path = os.path.join(dataset_dir, folder_name)
    
    # 获取对应的汉字名称
    chinese_name = id_to_chinese.get(folder_name)
    if chinese_name:
        # 构造新的文件夹路径
        new_folder_path = os.path.join(dataset_dir, chinese_name)
        # 重命名文件夹
        os.rename(folder_path, new_folder_path)
        # tqdm 会自动更新进度条，无需额外打印
    else:
        tqdm.write(f"No corresponding Chinese name found for folder '{folder_name}'")